-
Notifications
You must be signed in to change notification settings - Fork 126
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adjusting docu following PR #3700 #3795
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #3795 +/- ##
==========================================
+ Coverage 81.24% 81.28% +0.03%
==========================================
Files 580 580
Lines 79252 79352 +100
==========================================
+ Hits 64389 64499 +110
+ Misses 14863 14853 -10
|
Slightly unrelated question: Do we currently also handle the case of free resolutions over localizations at point ideals? If so, do we want to mention that in this case the minimal free resolution is unique, too? |
We eventually must do this. One problem is that Singular currently does not compute minimal such resolutions: It only removes constant units. |
Can you specify an example for this behaviour? I would like to better understand the problem. 'mres' in Singular always seemed to do the right thing w.r.t. a local ordering like 'ds'. In particular, I witnessed instances where non-constant units were handled properly. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good to go.
Maybe open a (feature request) issue with lower priority as a reminder that we need to add minimal resolution w.r.t local orderings into the framework and documentation.
I do not have an explicit example. Recall, however, that Singular just mimicks local rings with the help of local orderings, having no arithmetic for local rings, but offering some computations which are done over polynomial rings. So how do we represent the inverse of a unit such as 1+x in this context? |
I guess you don't and use Mora's division? |
exactly -- an this is fine, as long as you want to work with ideals, not elements! |
I actually was wrong here. So we should indeed proceed with discussing free resolutions in the local case. @HechtiDerLachs What is already available? |
As far as I know, local orderings are still not functional for modules, so we can't use them in Oscar. R, (x, y, z) = QQ[:x, :y, :z]
U = complement_of_point_ideal(R, [0, 0, 0])
L, loc = localization(R, U)
M = R[x y z; y z x-1]
I = ideal(minors(M, 2))
LI = loc(I)
L1 = FreeMod(L, 1)
LI, inc = LI*L1
M = cokernel(inc)
# Free resolution basically localizes a free resolution over R at this point
res, aug = free_resolution(Oscar.SimpleFreeResolution, M)
# We get the usual complex from the Hilbert-Burch theorem
matrix(map(res, 1))
matrix(map(res, 2))
# Now we minimize
c = simplify(res)
# We get a Koszul complex, but with denominators
matrix(map(c, 1))
matrix(map(c, 2)) Again, this is using the |
To me, this is not the way to go for the minimal free resolutions in the local case. We should rely on the Singular implementation in that case. Singular code: In your approach, we obtain something correct, but still carrying along unnecessary units: julia> matrix(map(c, 2)) julia> matrix(map(c, 3)) ` |
What we are lacking for module orderings is the conversion from an Oscar ordering to a Singular ordering. As far as I remember that was only implemented for ring orderings. |
No description provided.